// $URL: http://mingw-lib.googlecode.com/svn/trunk/working/avcodec_to_widget_8/t_box_input_file.h $
// $Rev: 262 $
// $Author: akio.miyoshi $
// $Date:: 2010-07-23 07:46:54 +0000#$

#ifndef T_BOX_INPUT_FILE_H
#define T_BOX_INPUT_FILE_H

#include "t_box_input.h"

class T_Box_Input_File : public T_Box_Input
{
    Q_OBJECT
public:
    static const int c_buffer_size = 32768;
    quint8 *m_buffer;
    QFile m_file;
    T_Box_Input_File(QString a_filename);
    ~T_Box_Input_File();
    virtual bool isValid();
    virtual void close();
    virtual quint8* getIOBuffer();
    virtual int getIOBufferSize();
protected:
    virtual int read_bytes(uint8_t *buf, int buf_size);
    virtual int64_t seek_getpos();
    virtual int64_t seek_setpos(int64_t offset);
    virtual int64_t seek_length();
};

#endif // T_BOX_INPUT_FILE_H
